import FlyIO from 'flyio/dist/npm/wx'
import store from '../store'

// 1. 创建一个实例对象
const http = new FlyIO()

// 2. 基础配置
http.config.baseURL = 'https://api-hmugo-web.itheima.net/api/public/v1'
http.config.timeout = 30000

// 3. 配置请求拦截器
http.interceptors.request.use((config) => {
  // 3.1 配置加载动画
  uni.showLoading({
    title: '正在拼命加载数据...',
    mask: true
  })

  // 3.2 判断是否需要携带token
  if (config.url.includes('/my/')) {
    config.headers.Authorization = store.state.user.token
    // console.log(config, '====++===')
  }

  return config
})

// 4. 配置响应拦截器
http.interceptors.response.use((res) => {
  // 4.1 关闭加载动画
  uni.hideLoading()

  return res.data
}, (err) => {
  // 4.2 关闭加载动画
  uni.hideLoading()
  return Promise.reject(err)
})

// 5. 导出实例对象
export default http